package com.bo.book.dao;

import com.bo.book.model.BookInfo;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

// @Component: 代表将BookDao加入了IOC容器,此时Spring已经创建了一个BookDao实例
// 实例化后由 IOC 容器管理生命周期(创建、依赖注入、销毁等),不限于DAO层,其余方法调用它,不需要再创建实例
@Repository
// 数据访问层:用于存储数据,保证数据的持久性(也被称作持久层),负责数据访问操作,包括数据的增、删、改、查.
public class BookDao {
    public List<BookInfo> mockBooksData(){
        List<BookInfo> list = new ArrayList<>();
        for(int i = 1;i <= 8;i++){
            BookInfo bookInfo = new BookInfo();
            bookInfo.setId(i);
            bookInfo.setBookName("图书" + i);
            bookInfo.setAuthor("作者" + i);
            bookInfo.setCount(i * new Random().nextInt(15));
            bookInfo.setPrice(new BigDecimal(new Random().nextDouble(99.00)).
                    setScale(2, RoundingMode.HALF_UP));
            bookInfo.setPublish("出版社" + i);
            bookInfo.setStatus(bookInfo.getCount() == 0 ? 0 : 1);
            list.add(bookInfo);
        }
        return list;
    }
}
